
/**
 * 自定义的模块中各个属性要和Vuex中的一样
 * state  getters  mutations  actions这些词语要一样，否则外部调用不到
 */
export default{
	//state就是保存状态的，以便其它的页面都共享state中的状态数据  
	state: {
		number:0,
		cartList:[{
			skuId: '1327971433606561794',
			skuName: '幻夜黑  360G  16寸',
			spuId: '1327971433522675714',
			price: 2,
			stock: 2,
			payNum:1,
			defaultImage: 'https://sass-gmall.oss-cn-hangzhou.aliyuncs.com/images/1605447979813.jpg',
			skuAttrItems: {
				'颜色': '幻夜黑',
				'尺寸': '360G',
				'内存': '16寸'
			}
		}, {
			skuId: '1327971433656893441',
			skuName: '幻夜黑  360G  20寸',
			spuId: '1327971433522675714',
			price: 3,
			stock: 3,
			payNum:1,
			defaultImage: 'https://sass-gmall.oss-cn-hangzhou.aliyuncs.com/images/1605447987108.jpg',
			skuAttrItems: {
				'颜色': '幻夜黑',
				'尺寸': '360G',
				'内存': '20寸'
			}
		}]
	},
	getters: {
		// 无参方法
		filterCartList(state){
			return state.cartList.filter(v=>v.stock>2);
		},
		// 有参方法
		paramFileteCartList(state,getters){
			return function(price_param){
				return state.cartList.filter(v=>v.price<price_param)
			}
		}
	},
	mutations: {
		// 无参方法
		delete_cart_list(state){
			state.cartList.splice(1,1);
			console.log(state.cartList)
		},
		// 一个参数的方法
		delete_cart_list_by_param(state,num){
			state.number  =num;
			console.log(state.number)
		},
		/**
		 * mutations不支持传入多个参数，若想传入多个参数请自己封装成JSON对象
		 * delete_two_param(state,num1,numw){
				console.log(num+"---------------"+string)
			}
		 */
		addCartList(state,cart){
			state.cartList.push(cart);
			console.log(state.cartList);
		}
	},
	actions:{
	}
}